|
ТОМ2 version 2.a.x.x (альфа)
Copyright © 2008-2015, ASBer. All rights reserved.
http://tom.userforum.ru
Данный документ описывает ТОМ версии 2.0 и выше.
Обзор
ТОМ (Текстовая Основа Миростроения) – парсерная русскоязычная платформа для игр в жанре интерактивной литературы.
Платформа ТОМ предназначена для создания текстовых игр на русском языке и имеет развитый парсер, позволяющий взаимодействовать
с играми с помощью команд на языке близком к естественному.
Ключевые возможности
Строгая концентрация на парсерных текстовых играх.
Развитый парсер. Команда в процессе синтаксического анализа преобразуется в древовидную
структуру, а не просто сравнивается с шаблоном. Это позволяет обрабатывать
сложные составные команды.
Парсер изначально ориентирован на русский язык, не имеет ограничений на количество слов
в команде, шаблоны команды описываются с помощью функций.
Наличие встроенного словаря. Автору не нужно задавать все формы слова, если слово
есть в словаре.
Наличие словаря синонимов. Причём не только для отдельных слов, но и для
словосочетаний и целых команд.
Наличие специальных операций для согласования слов. ТОМ позволяет собрать текст
вывода по частям, автоматически подбирая нужные формы слов.
Язык программирования
Платформа ТОМ имеет собственный скриптовый язык программирования высокого уровня.
Язык поддерживает объектно-ориентированное программирование с множественным наследованием и динамической типизацией.
Язык ТОМ – регистро-независимый.
В языке есть возможность обработки событий и фоновых действий.
Особенности языка:
- поддержка русской морфологии (склонение, предлоги);
- возможность использовать в коде игр смешанный код на искусственном и естественном языках.
Архитектура
ТОМ имеет следующую структуру:
- Ядро ТОМ: содержит парсер игровых команд и интерпретатор языка ТОМ.
Ядро компилируется в отдельную динамическую библиотеку - tom.dll
- Словарь: содержит краткий словарь русского языка и
ассоциированный со словами код стандартной библиотеки. Компилируется в файл TOM.dic.
- Интерфейс: осуществляет взаимодействие с игроком, обеспечивает функции ввода-вывода текста,
выполняет загрузку и запуск ядра и игр. Возможны различные варианты интерфейса: консольный, telnet, или
веб-интерфейс, осуществляющий взаимодействие с игроком через веб-браузер.
- Плагины: расширяют возможности ядра и интерфейса, добавляют необходимые управляющие
и интерфейсные функции. Например: синтез голоса, вопроизведение музыки, и т.п.
Функции ядра
Загрузка и интерпретация файла игры
При начале новой игры ТОМ загружает указанный файл, интерпретирует его и создаёт на его основе новый игровой мир.
Обработка игровых команд
Введенная игроком команда интерпретируется как системная или игровая. В ответ на команду изменяется
состояние игры и подготавливается текст, описывающий произошедшие изменения.
Загрузка словарных статей из словаря
По мере необходимости ядро обращается к словарю, считывая знания, необходимые для понимания встреченных слов.
Регистрация внешних функций
Функционал ядра может быть расширен за счет внешних функций, находящихся в интерфейсе или плагинах.
Внешние функции расширяют состав системных команд, а также могут быть истользованы в коде TOML.
Функции интерфейса
...
Внешние инструменты
|
Редактор стандартного словаря
...
|
|
|
Генератор словоформ
...
|
|
|
Визуальная среда разработки игр (в разработке)
...
|
Смотрите также
Интерпретатор,
Стандартная библиотека
|
to do:
Дописать.
Добавить картинки.
|